﻿using System;
using System.Collections.Generic;
class Program
{
    static void Main()
    {
        Student first = new Student("Valeri", "Valeriev", "Manchev", 123, "Sofia", "12345", "manchev@yahoo.com", 2, University.TU, Faculty.Automatic, Specialty.AIUT);
        Console.WriteLine("Original: "+first);
        Student cloned = first.Clone();
        Console.WriteLine("Cloned: "+cloned);
        Console.WriteLine("Are First and Cloned the same students: "+first.Equals(cloned));
        cloned.SSN = 55555;
        Console.WriteLine("Cloned with changed SSN: "+cloned);
        Console.WriteLine("The Original of the Cloned: "+first);
        Console.WriteLine("First and Cloned are the same after changes of cloned: "+first.Equals(cloned));
        Console.WriteLine();
        Console.WriteLine("Other students");
        Student second = new Student("Vasil", "Iotov", "Vasilev", 12345, "Sofia", "54321", "vasilev@yahoo.com", 2, University.TU, Faculty.Automatic, Specialty.AIUT);

        Console.WriteLine(second);
        Student third = new Student("Aksel", "Akselski", "Ferzuev", 333, "Sofia", "99999", "ferzuev@yahoo.com", 2, University.TU, Faculty.Automatic, Specialty.AIUT);
        Console.WriteLine(third);

        List<Student> sorted=new List<Student>();
        sorted.Add(first);
        sorted.Add(second);
        sorted.Add(third);
        sorted.Sort();
        Console.WriteLine("Sorted Students: ");
        foreach (var student in sorted)
        {
            Console.WriteLine(student);    
        }
    }
}